/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.fyx.mula.ejb;

import org.fyx.core.PermissionDeniedException;

/**
 * Interface pro beanu krtera bude spravovat jazykove mutace.
 * 
 * @author ydenek
 */
public interface Mula {

    /**
     * Vrati pozadovany preklad v aktualne nastavenem jazyce.
     * Pokud preklad neexistuje vrati preklad v nejblizsim jazyce,
     * nebo klic.
     * @param key klic prekladu
     * @return preklad, nebo key
     */
    String get(String key);
    
    /**
     * Vrati pozadovany preklad ve zvolenem jazyce.
     * Pokud preklad neexistuje vrati preklad v nejblizsim jazyce,
     * nebo klic.
     * @param isoLanguage iso kod jazyka ve standardnim 3 mistnem podani
     * @param key klic prekladu
     * @return preklad, nebo key
     */
    String get(String key, String isoLanguage);

    /**
     * Nastavi (vytvori nebo prepise) preklad k urcitemu klici.
     * @param key klic prekladu
     * @param transtate preklad
     * @param isoLanguage kod jazyka ve standardu ISO
     */
    void setTranslate(String key, String transtate, String isoLanguage);
    
    /**
     * Odebere preklad k urcitemu klici.
     * @param key klic prekladu
     * @param isoLanguage kod jazyka ve standardu ISO
     */
    void removeTranslate(String key, String isoLanguage);
}
